#pragma once

#include <ECS/ECS.h>
#include "Identifier.h"

class GameObject : public ECS::Assembly
{
	mtMETA_DEC;
public:
	GameObject();
	virtual ~GameObject();

	const Identifier& getName() const;
	void setName(const Identifier& name);

	static GameObject* getObjectByName(const Identifier& name);

protected:
	virtual void onDestroyed() override;
	Identifier _name;
};